package com.tmt.im.common.enums;

import com.tmt.springboot.common.annotation._EnumDescriptor;
import lombok.Getter;

import java.util.List;

/**
 * @Description TODO
 * @Author wuyi
 * @Date 2024/7/31 10:46
 * @Version 1.0
 **/
@Getter
public enum IMRoleEnum {

    @_EnumDescriptor(name = "系统管理员", value = "系统管理员", note = "具备系统所有操作权限")
    IM_ROLE_ADMIN(List.of(IMAuthorityEnum.IM_AUTH_ALL)),

    @_EnumDescriptor(name = "系统后端管理员", value = "系统后端管理员", note = "具备系统后端管理相关功能权限")
    IM_ROLE_MANAGER(List.of(IMAuthorityEnum.IM_AUTH_ALL)),

    @_EnumDescriptor(name = "系统客服人员", value = "系统客服人员", note = "具备系统后端管理相关功能权限")
    IM_ROLE_CUSTOMER(List.of(IMAuthorityEnum.IM_AUTH_ALL)),

    @_EnumDescriptor(name = "群组管理员", value = "群组管理员", note = "可管理任意聊天群")
    IM_AUTH_SESSION_MANAGER(List.of(IMAuthorityEnum.IM_AUTH_SESSION_ALL)),

    ;

    private final List<IMAuthorityEnum> authorities;

    IMRoleEnum(List<IMAuthorityEnum> authorities) {
        this.authorities = authorities;
    }

}
